home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / P / Portfolio.cpt / Home / stack_-1.xml < prev    next >
Extensible Markup Language  |  1988-01-24  |  25KB  |  16 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>42</cardCount>
  7.     <cardID>5341</cardID>
  8.     <listID>4212</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><false /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>-------------------------------------------------------------------------- QUITTING 'PORTFOLIO'------------------------------------------------------------------------On quitPut the freesize of this stack into itIf it > 10000 thenBeepShow message window at 20,302Put "Wasted Space - "Put it into word 5 of message windowPut " bytes in 'Portfolio'." into word 7 of message windowAnswer "Before quitting; should I compact this stack?" with "No" or "Yes"End ifIf it = "Yes" thenSet cursor to 4Hide message windowDoMenu Compact StackEnd ifEnd quit-------------------------------------------------------------------------- STARTING 'PORTFOLIO'------------------------------------------------------------------------On StartUpShow MenuBarHide message windowGetHomeInfoPass StartUp -- to a startUp XCMD, if presentEnd StartUp-------------------------------------------------------------------------- RESUME 'PORTFOLIO'------------------------------------------------------------------------On resumeGetHomeInfoPass resume -- to a resume XCMD, if presentEnd resume-------------------------------------------------------------------------- GET HOME INFORMATION------------------------------------------------------------------------On GetHomeInfoGlobal stacks,applications,documents,UserName,actionSet LockScreen to trueSet LockMessages to truePush this cardPut "Launch" into actionGo to card "User Preferences" of stack "Home"Put card field "User Name" into UserNameSet UserLevel to card field "User Level"Set PowerKeys to the hilite of button "Power Keys"Set BlindTyping to the hilite of button "Blind Typing"Put field "paths" of card "stacks" into stacksPut field "paths" of card "applications" into applicationsPut field "paths" of card "documents" into documentsPop cardSet LockScreen to falseSet LockMessages to falseEnd GetHomeInfo-------------------------------------------------------------------------- SEARCH SCRIPT------------------------------------------------------------------------On SearchScript pattern,StackName -- search all scripts of a stackSet LockMessages to trueIf StackName is not empty then go to stack StackNameIf the script of this stack contains patternThen edit script of this stackRepeat with i = 1 to the number of bkgndsGo to card 6 of bkgnd iIf the script of this bkgnd contains patternThen edit script of bkgndRepeat with j = 1 to the number of bkgnd buttonsIf the script of bkgnd button j contains patternThen edit script of bkgnd button jEnd repeatRepeat with j = 1 to the number of bkgnd fieldsIf the script of bkgnd field j contains patternThen edit script of bkgnd field jEnd repeatEnd repeatRepeat with i = 1 to the number of cardsGo card iIf the script of this card contains patternThen edit script of this cardRepeat with j = 1 to the number of card buttonsIf the script of card button j contains patternThen edit script of card button jEnd repeatRepeat with j = 1 to the number of card fieldsIf the script of card field j contains patternThen edit script of card field jEnd repeatEnd repeatSet lockMessages to falseEnd searchScript-------------------------------------------------------------------------- LAST PATH NAME------------------------------------------------------------------------Function LastPathComponent nameRepeat with i = the length of name down to 1If character i of name is ":" then exit repeatEnd repeatIf i is 1 thenIf first character of name is ":" thenPut 2 into iEnd ifElseAdd 1 to iEnd ifPut empty into LastPathRepeat with j = i to the length of namePut character j of name after LastPathEnd repeatReturn LastPathEnd LastPathComponent-------------------------------------------------------------------------- DELETE LAST PART OF LONG NAME------------------------------------------------------------------------Function DeleteLastPart LongNamePut the length of LongName into LenghtOfNameRepeat with i = LenghtOfName down to 1If char i of LongName = ":" then exit repeatDelete char I of LongNameEnd RepeatReturn LongNameEnd DeleteLastPart-------------------------------------------------------------------------- BUTTON NAME------------------------------------------------------------------------Function ButtonName LongNamePut the length of LongName into LastCharRepeat with i = LastChar down to 1If char i of LongName = ":" then exit repeatEnd repeatReturn char (i + 1) to LastChar of LongNameEnd ButtonName-------------------------------------------------------------------------- SYSTEM ERRORS------------------------------------------------------------------------On OSERR errIf err > 0 then -- XFCN conventionPut "Parameter error with function" into errstrElse if err is -59 thenPut "Problem during rename" into errstrElse if err is -54 thenPut "Attempt to open locked file for writing" into errstrElse if err is -46 thenPut "Volume locked by software" into errstrElse if err is -45 thenPut "File locked" into errstrElse if err is -44 thenPut "Volume locked by hardware" into errstrElse if err is -43 thenPut "File not found" into errstrElse if err is -37 thenPut "Bad volume or file name" into errstrElse if err is -36 thenPut "I/O error" into errstrElse if err is -35 thenPut "No such volume" into errstrElse if err is -34 thenPut "Disk is full" into errstrElse if err is -49 thenPut "File already open for writing" into errstrElsePut "Failed with error" && err into errstrEnd ifAnswer Errstr with "OK"End OSERR-------------------------------------------------------------------------- ADD HYPERCARD STACK------------------------------------------------------------------------On AddStackSet LockScreen to trueShow message window at 20,302Put "Please select the HyperCard 'STACK' that you wish to add to this card."Put FileName("STAK") into StackNameIf StackName = empty thenPut ""Set LockScreen to falseChoose browse toolHide message windowExit AddStackEnd ifSet cursor to 4Put "One Moment, Please..."Get short name of StackNamePut it into ShortStackNameDoMenu "New Button"Set style of button "New Button" to transparentSet rect of button "New Button" to 220,150,315,198Set icon of button "New Button" to 1000Put "On MouseUp -- Stack" & return into ScriptMakerPut "Global LongName" & return after ScriptMakerPut "Put " & quote & StackName & quote & " into LongName" & return after ScriptMakerPut "LaunchStack" & return after ScriptMakerPut "End MouseUp" & return & return after ScriptMakerPut "--" & return after ScriptMakerPut "-- FOR 'PORTFOLIO' TO FUNCTION CORRECTLY; DO NOT MODIFY THIS SCRIPT!" & return after ScriptMakerPut "--" & return after ScriptMakerSet script of button "New Button" to ScriptMakerSet name of button "New Button" to ShortStackNameChoose browse toolSet LockScreen to falseShow message window at 20,35Put "Press COMMAND KEY down; CLICK and DRAG icon into position."Exit AddStackEnd AddStack-------------------------------------------------------------------------- ADD STAND ALONE APPLICATION------------------------------------------------------------------------On AddApplicationSet LockScreen to trueShow message window at 20,302Put "Please select the 'APPLICATION' that you wish to add to this card."Put FileName("APPL") into ApplicationNameIf ApplicationName is empty thenPut ""Set LockScreen to falseChoose browse toolHide message windowExit AddApplicationEnd ifSet cursor to 4Put "One Moment, Please..."Put ButtonName(ApplicationName) into ApplicationFileDoMenu "New Button"Get the long name of this stackPut it into StackNameIf icon of button "New Button" is not 0 thenPut icon of button "New Button" into DeleteIconKillResID StackName,"ICON",DeleteIconEnd ifPut GetAppIcon(ApplicationName,ApplicationFile,StackName) into AddIconUpdateResForkSet icon of button "New Button" to AddIconSet style of button "New Button" to transparentSet rect of button "New Button" to 220,150,315,198Put "On MouseUp -- Application" & return into ScriptMakerPut "Global LongName" & return after ScriptMakerPut "Put " & quote & ApplicationName & quote & " into LongName" & return after ScriptMakerPut "LaunchApplication" & return after ScriptMakerPut "End MouseUp" & return & return after ScriptMakerPut "--" & return after ScriptMakerPut "-- FOR 'PORTFOLIO' TO FUNCTION CORRECTLY; DO NOT MODIFY THIS SCRIPT!" & return after ScriptMakerPut "--" & return after ScriptMakerSet script of button "New Button" to ScriptMakerSet name of button "New Button" to ApplicationFileChoose browse toolSet LockScreen to falseShow message window at 20,35Put "Press COMMAND KEY down; CLICK and DRAG icon into position."Exit AddApplicationEnd AddApplication-------------------------------------------------------------------------- ADD DOCUMENT------------------------------------------------------------------------On AddDocumentSet LockScreen to trueShow message window at 20,302Put "First select the 'APPLICATION' that will open the document."Put FileName("APPL") into ApplicationFileIf ApplicationFile = empty thenPut ""Set lockScreen to falseChoose browse toolHide message windowExit AddDocumentEnd ifPut "Now select the 'DOCUMENT' that you wish to add to this card."Put FileName() into DocumentFileIf DocumentFile = empty thenPut ""Set LockScreen to falseChoose browse toolHide message windowExit AddDocumentEnd ifSet cursor to 4Put "One Moment, Please..."Put ButtonName(DocumentFile) into DocumentNameDoMenu "New Button"Get the long name of this stackPut it into StackNameIf icon of button "New Button" is not 0 thenPut icon of button "New Button" into DeleteIconKillResID StackName,"ICON",DeleteIconEnd ifPut GetDocIcon(ApplicationFile,DocumentFile,StackName) into AddIconUpdateResForkSet icon of button "New Button" to AddIconSet style of button "New Button" to transparentSet rect of button "New Button" to 220,150,315,198Put "On MouseUp -- Document" & return into ScriptMakerPut "Global LongName" & return after ScriptMakerPut "Put " & quote & DocumentFile & "," &¬¨ApplicationFile & quote & " into LongName" & return after ScriptMakerPut "LaunchDocument" & return after ScriptMakerPut "End MouseUp" & return & return after ScriptMakerPut "--" & return after ScriptMakerPut "-- FOR 'PORTFOLIO' TO FUNCTION CORRECTLY; DO NOT MODIFY THIS SCRIPT!" & return after ScriptMakerPut "--" & return after ScriptMakerSet script of button "New Button" to ScriptMakerSet name of button "New Button" to DocumentNameChoose browse toolSet LockScreen to falseShow message window at 20,35Put "Press COMMAND KEY down; CLICK and DRAG icon into position."Exit AddDocumentEnd AddDocument-------------------------------------------------------------------------- ADD DESK ACCESSORY------------------------------------------------------------------------On AddDASet LockScreen to trueShow message window at 20,302Put "NOTE: the DA must be installed in your system for this to work."Ask "Type the exact name of the Desk Accessory?"If it is not empty thenPut it into DaNameDoMenu New ButtonSet cursor to 4Set icon of button "New Button" to 18499Set style of button "New Button" to transparentSet rect of button "New Button" to 220,150,315,198Put "On MouseUp -- DA" & return into ScriptMakerPut "Global LongName" & return after ScriptMakerPut "Put " & quote & it & quote & " into LongName" & return after ScriptMakerPut "LaunchDA" & return after ScriptMakerPut "End MouseUp" & return & return after ScriptMakerPut "--" & return after ScriptMakerPut "-- FOR 'PORTFOLIO' TO FUNCTION CORRECTLY; DO NOT MODIFY THIS SCRIPT!" & return after ScriptMakerPut "--" & return after ScriptMakerSet script of button "New Button" to ScriptMakerSet name of button "New Button" to DaNameEnd ifChoose browse toolSet LockScreen to falseShow message window at 20,35Put "Press COMMAND KEY down; CLICK and DRAG icon into position."Exit AddDAEnd AddDA-------------------------------------------------------------------------- DELETE ANY FILE------------------------------------------------------------------------On TrashAnyShow message window at 20,302Put "Please select the file that you wish to 'DELETE'."Put FileName() into LongNameIf LongName is empty thenPut ""Set LockScreen to falseHide message windowExit TrashAnyEnd ifSet cursor to 4Put LastPathComponent(LongName) into NewNamePut "Delete File - "Put NewName into word 7 of message windowBeepAnswer "Are you sure you want to delete this file?" with "Yes" or "No"If it is "No" thenPut""Set LockScreen to falseHide message windowExit TrashAnyEnd ifPut DeleteFile(LongName) into trashIf trash = 0 thenPut "The file has been deleted from your disk."Wait 3 secondsPut""Set LockScreen to falseHide message windowExit TrashAnyEnd ifIf trash < 0 thenBeep 2OSERR trashElseBeep 2Answer "Sorry, there was an un-define error!"Exit trashAnyEnd ifExit TrashAnyEnd TrashAny-------------------------------------------------------------------------- RENAME ANY FILE------------------------------------------------------------------------On RenameAnyShow message window at 20,302Put "Please select the file that you wish to 'RENAME'."Put FileName() into LongNameIf LongName is empty thenPut""Set LockScreen to falseHide message windowExit RenameAnyEnd ifHide message windowPut LastPathComponent(LongName) into NewNameBeepAsk "Rename this file to:" with NewNameIf it is NewName or it is empty thenPut""Set LockScreen to falseHide message windowExit RenameAnyEnd ifPut the length of it into containerIf container > 25 thenBeep 2Answer "Sorry, name is too long!"Put""Set LockScreen to falseHide message windowExit RenameAnyEnd ifSet cursor to 4Put RenameFile(LongName,it) into NewFileIf NewFile = 0 thenPut "The file on your disk has been renamed."Wait 3 secondsPut ""Set LockScreen to falseHide message windowExit RenameAnyElseIf NewFile < 0 thenBeep 2OSERR NewFileElseBeep 2Answer "Sorry, there was an un-define error!"Exit RenameAnyEnd ifEnd ifEnd RenameAny-------------------------------------------------------------------------- SHUT DOWN COMPUTER------------------------------------------------------------------------On ShutOffBeepAnswer "Are you ready to 'SHUTDOWN' the computer:" with "Yes" or "No"If it is "No" thenSet LockScreen to falseExit ShutOffEnd ifPut the freesize of this stack into itIf it > 10000 thenBeepShow message window at 20,302Put "Wasted Space - "Put it into word 5 of message windowPut " bytes in 'Portfolio'." into word 7 of message windowAnswer "Before Shut Down; should I compact this stack?" with "No" or "Yes"If it = "Yes" thenSet cursor to 4Hide message windowDoMenu Compact Stackend ifend ifShutDownEnd ShutOff-------------------------------------------------------------------------- SCAN ALL CARDS------------------------------------------------------------------------On ScanCardsBeepAnswer "Please choose a display speed:" with "Slow" or "Fast" or "Cancel"If it is "Cancel" thenSet LockScreen to FalseExit ScanCardsEnd ifSet cursor to 4Show message window at 20,302Put "To stop browsing, just click the 'MOUSE BUTTON'."Wait 3 secondsPut ""Hide message windowIf it is "Fast" thenWait 2 secondsShow all cardsElseRepeat for number of cardsWait 3 secondsIf the MouseClick thenExit repeatEnd ifVisual effect barn door openGo to next cardEnd repeatEnd ifEnd ScanCards-------------------------------------------------------------------------- Launch Application------------------------------------------------------------------------On LaunchApplicationGlobal ActionIf Action = "Abort" thenPut "Launch" into actionExit LaunchApplicationEnd ifSet cursor to 4Global LongNameIf MultiFinder() is true thenIf IsRunning(short name of the target) is true thenBeepAnswer "Use MultiFinder; Application is running!"ElsePut SubLaunch (LongName) into OutComeIf OutCome < 0 then OSERR OutComeElseIf OutCome > 0 then beepEnd ifEnd ifElseOpen LongNameEnd ifEnd LaunchApplication-------------------------------------------------------------------------- LAUNCH DOCUMENT------------------------------------------------------------------------On LaunchDocumentGlobal ActionIf Action = "Abort" thenPut "Launch" into actionExit LaunchDocumentEnd ifSet cursor to 4Global LongNamePut ButtonName(LongName) into ApplicationNamePut second item of LongName into ApplicationPathPut first item of LongName into DocumentPathIf MultiFinder() is true thenIf IsRunning(ApplicationName) is true thenBeepAnswer "Use MultiFinder; document is open!"ElsePut SubLaunch(ApplicationPath,DocumentPath) into OutComeIf OutCome < 0 then OSERR OutComeElse if OutCome > 0 then beepEnd ifElseOpen DocumentPath with ApplicationPathEnd ifEnd LaunchDocument-------------------------------------------------------------------------- LAUNCH STACK------------------------------------------------------------------------On LaunchStackGlobal ActionIf Action = "Abort" thenPut "Launch" into actionExit LaunchStackEnd ifSet cursor to 4Global LongNamePush cardVisual effect zoom openGo to LongNameEnd LaunchStack-------------------------------------------------------------------------- LAUNCH DA------------------------------------------------------------------------On LaunchDAGlobal ActionIf Action = "Abort" thenPut "Launch" into actionExit LaunchDAEnd ifSet cursor to 4Global LongNamePush cardVisual effect zoom openDoMenu LongNameEnd LaunchDA-------------------------------------------------------------------------- DIRECT LAUNCH APPLICATION------------------------------------------------------------------------On DirectLaunchSet LockScreen to trueShow message window at 20,302Put "You may now 'LAUNCH' into and return from any application."Global LongNamePut FileName("APPL") into LongNameIf LongName is not empty thenSet cursor to 4LaunchApplicationEnd ifPut ""Set LockScreen to falseHide message windowEnd DirectLaunch-------------------------------------------------------------------------- REMOVE BUTTON FROM CARD------------------------------------------------------------------------On RemoveButtonGlobal ShortNameBeepAnswer "Remove that button from this card?" with "Yes" or "NO"If it = "No" thenChoose browse toolPut ""Set LockScreen to falseHide message windowExit RemoveButtonEnd IfSet cursor to 4Get the long name of this stackPut it into StackNamePut icon of button ShortName into DeleteIconKillResID StackName,"ICON",DeleteIconDoMenu Cut ButtonChoose browse toolPut ""Set LockScreen to falseHide message windowExit RemoveButtonEnd RemoveButton-------------------------------------------------------------------------- DELETE BUTTON / FILE ON CARD AND DISK------------------------------------------------------------------------On DeleteFileButtonGlobal ShortNameBeepAnswer "Delete button / file from card / disk?" with "Yes" or "NO"If it = "No" thenChoose browse toolPut ""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd ifSet cursor to 4Get script of button ShortNamePut it into containerIf container is empty thenChoose browse toolPut ""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd ifGet line 1 of containerPut it into TypeGet word 4 of TypePut it into ScriptTypeIf ScriptType ="DA" thenRemoveDAExit DeleteFileButtonEnd IfIf ScriptType ="Document" thenBeep 2Answer "Document deleting not yet available." with "OK"Choose browse toolPut""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd ifGet line 3 of containerPut it into NewContainerGet word 2 of NewContainerPut it into ContainerDelete first char of containerDelete last char of containerPut container into LongNameIf LongName is empty thenPut ""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd ifPut DeleteFile(LongName) into trashIf trash = 0 thenGet the long name of this stackPut it into StackNamePut icon of button ShortName into DeleteIconKillResID StackName,"ICON",DeleteIconDoMenu Cut ButtonChoose browse toolPut "The button / file on your card / disk has been deleted."Wait 3 SecondsPut ""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd ifIf trash < 0 thenBeep 2OSERR trashElseBeep 2Answer "Sorry, there was an un-define error!"End ifChoose browse toolPut ""Set LockScreen to falseHide message windowExit DeleteFileButtonEnd DeleteFileButton----- REMOVE DA'SOn RemoveDADoMenu Cut ButtonChoose browse toolPut "The DA button has been deleted from your card."Wait 3 SecondsPut ""Set LockScreen to falseHide message windowExit RemoveDAEnd RemoveDA-------------------------------------------------------------------------- RENAME BUTTON / FILE ON CARD AND DISK------------------------------------------------------------------------On RenameFileButtonGlobal ShortName, NewName, ScriptTypeBeepAsk "Rename this file to:" with ShortNameIf it is ShortName or it is empty thenChoose browse toolPut""Set LockScreen to falseHide message windowExit RenameFileButtonEnd ifPut it into NewNamePut the length of it into containerIf container > 25 thenBeep 2Answer "Sorry, name is too long!"Put""Set LockScreen to falseHide message windowExit RenameFileButtonEnd ifSet cursor to 4Get script of button ShortNamePut it into containerIf container is empty thenChoose browse toolPut ""Set LockScreen to falseHide message windowExit RenameFileButtonEnd ifGet line 1 of containerPut it into TypeGet word 4 of TypePut it into ScriptTypeIf ScriptType ="DA" thenRenameDAExit RenameFileButtonEnd ifIf ScriptType ="Document" thenBeep 2Answer "Document renaming not yet available." with "OK"Choose browse toolPut""Set LockScreen to falseHide message windowExit RenameFileButtonEnd ifIf ScriptType ="Application" thenRenameTheFileExit RenameFileButtonEnd ifIf ScriptType ="Stack" thenRenameTheFileExit RenameFileButtonEnd ifEnd RenameFileButton----- RENAME APPLICATIONS & STACKSOn RenameTheFileGlobal ShortName, NewName, ScriptTypeIf scriptType = "Application" then put "LaunchApplication" into ThisWayIf scriptType = "Stack" then put "LaunchStack" into ThisWayGet script of button ShortNamePut it into containerGet line 3 of containerPut it into NewContainerGet word 2 of NewContainerPut it into ContainerDelete first char of containerDelete last char of containerPut container into LongNameIf LongName is empty thenChoose browse toolPut ""Set LockScreen to falseHide message windowExit RenameTheFileEnd ifPut RenameFile(LongName,NewName) into NewFileIf NewFile = 0 thenPut DeleteLastPart(LongName)&NewName into NewPathNamePut "On MouseUp -- " & ScriptType & return into ScriptMakerPut "Global LongName" & return after ScriptMakerPut "Put " & quote & NewPathName & quote & " into LongName" & return after ScriptMakerPut ThisWay & return after ScriptMakerPut "End MouseUp" & return & return after ScriptMakerPut "--" & return after ScriptMakerPut "-- FOR 'PORTFOLIO' TO FUNCTION CORRECTLY; DO NOT MODIFY THIS SCRIPT!" & return after ScriptMakerPut "--" & return after ScriptMakerSet script of button ShortName to ScriptMakerSet name of button ShortName to NewNamePut "The file on your disk and card has been renamed."Wait 3 secondsChoose browse toolPut ""Set LockScreen to falseHide message windowExit RenameTheFileElseIf NewFile < 0 thenBeep 2OSERR NewFileElseBeep 2Answer "Sorry, there was an un-define error!"Exit RenameTheFileEnd ifEnd ifEnd RenameTheFile----- RENAME